package com.dys.testreflect01;

/**
 * @className: com.dys.testreflect01.Test
 * @description: com.dys.testreflect01
 * @author: pine cone
 * @version: v1.0.0
 * @createTime: 2024/08/26 下午9:59
 */
public class Test {
    /**
     * 这是一个main()方法,是应用程序的入口
     *
     * @param args 方法的形参列表,是一个字符串数组,包含了从命令行传递给程序的参数
     */
    public static void main(String[] args) {
        String str = "微信";
        if ("微信".equals(str)) { // str.equals("微信")---？避免空指针异常
            // 微信支付
            // new WeChat().payOnline();
            pay(new WeChat());
        }

        if ("支付宝".equals(str)) {
            // 支付宝支付
            // new AliPay().payOnline();
            pay(new AliPay());
        }

        if ("招商银行".equals(str)) {
            // 招商银行卡支付
            // new BankCard().payOnline();
            pay(new BankCard());
        }
    }

    /**
     * 微信支付
     *
     * @param weChat 微信支付
     */
    public static void pay(WeChat weChat) {
        weChat.payOnline();
    }

    /**
     * 支付宝支付
     *
     * @param aliPay 支付宝
     */
    public static void pay(AliPay aliPay) {
        aliPay.payOnline();
    }

    /**
     * 招商银行卡支付
     *
     * @param bankCard 招商银行卡
     */
    public static void pay(BankCard bankCard) {
        bankCard.payOnline();
    }
}
